package com.laamella.syntherface.synths.alesis.micron.model.sysex;

import com.laamella.syntherface.synths.midi.BinaryData;
import com.laamella.syntherface.synths.midi.BinaryField;

/**
 * Micron Bank change Settings
 * <p>
 * Program uses banks 0-4
 * <p>
 * Setup uses bank 100
 * <p>
 * Pattern uses banks 200-201
 * <p>
 * Rhythm uses banks 300-302
 * 
 */
public class RequestSysEx extends BinaryData {

	private static final byte[] DefaultMessage = new byte[] { (byte) 0xF0, 0x00, 0x00, 0x0E, 0x22, 0x41, 0x00, 0x00, 0x00, (byte) 0xF7 };

	public RequestSysEx(int bank, int patch, boolean multiplePatches) {
		super(DefaultMessage.length);
		binaryParameters.add(new BinaryField.StaticBytesField(0, DefaultMessage));
		binaryParameters.add(new BinaryField.StaticUnsignedInt7Field(6, bank));
		binaryParameters.add(new BinaryField.StaticUnsignedInt7Field(8, patch));
	}
}
